package ooday05;

import java.awt.event.KeyEvent;

/**
 * @author pxl
 * static final 常量演示
 * 必须声明同时初始化
 *常常通过类名.来访问，不能被改变
 *建议：常量名所有字母都大写，多个单词之间用_分隔
 */
public class StaticFinalDemo {
    public static void main(String[] args) {
        System.out.println("π="+Loo.PI);//通过类名.访问
        //Loo.PI = 3.14;//编译错误，常量不能被改变

        //1)加载Loo.class到方法区中
        //2)静态变量num一并存储到方法区中
        //3)到方法区中获取num的值并输出
        System.out.println(Loo.num);
        //编译器在编译时会常量直接替换成具体的数，效率高
        //相当于System.out.println(5);
        System.out.println(Loo.COUNT);
    }
}
class Loo{//class Loo类与StaticFinalDemo类并列
    public static int num = 5;//静态变量
    public static final int COUNT = 5;//静态常量
    public static final double PI = 3.1415926;//声明同时初始化，公开静态常量
}